package com.scut.dispatching_server.service;

import com.scut.dispatching_server.model.RLOrderInfoForDispatching;

public interface RlDispatchingService {
    /**
     * 用于使用值函数 V 进行基于强化学习的订单分配
     * @param orderDriverMatrix 初始订单分配矩阵
     * @param probabilitiesOnetoOne 各司机对各订单在一对一情况下的响应时间概率分布
     * @param rlOrderInfos 数组，记录各订单已经等待的轮数以及各订单如果进入下一轮，其所能获得的长期收益
     * @return int[][] 订单分配矩阵
     */
    int[][] dispatching(int[][] orderDriverMatrix, float[][][] probabilitiesOnetoOne, RLOrderInfoForDispatching[] rlOrderInfos);
}
